import { Param } from "./types";

export const Flake8PytestStyleParamList: Param[] = [
    {
        name: "fixture-parentheses",
        descEn: `Boolean flag specifying whether @pytest.fixture() without parameters should have parentheses. If the option is set to true (the default), @pytest.fixture() is valid and @pytest.fixture is invalid. If set to false, @pytest.fixture is valid and @pytest.fixture() is invalid.`,
        descCn: "",
        defaultValue: true,
        url: "https://beta.ruff.rs/docs/settings/#fixture-parentheses",
    },
    {
        name: "mark-parentheses",
        descEn: `Boolean flag specifying whether @pytest.mark.foo() without parameters should have parentheses. If the option is set to true (the default), @pytest.mark.foo() is valid and @pytest.mark.foo is invalid. If set to false, @pytest.fixture is valid and @pytest.mark.foo() is invalid.`,
        descCn: "",
        defaultValue: true,
        url: "https://beta.ruff.rs/docs/settings/#mark-parentheses",
    },
    {
        name: "parametrize-names-type",
        descEn: `Expected type for multiple argument names in @pytest.mark.parametrize. The following values are supported:

        csv — a comma-separated list, e.g. @pytest.mark.parametrize('name1,name2', ...)
        tuple (default) — e.g. @pytest.mark.parametrize(('name1', 'name2'), ...)
        list — e.g. @pytest.mark.parametrize(['name1', 'name2'], ...)`,
        descCn: "",
        defaultValue: "tuple",
        optionList: ["csv", "tuple", "list"],
        url: "https://beta.ruff.rs/docs/settings/#parametrize-names-type",
    },
    {
        name: "parametrize-values-row-type",
        descEn: `Expected type for each row of values in @pytest.mark.parametrize in case of multiple parameters. The following values are supported:

        tuple (default) — e.g. @pytest.mark.parametrize(('name1', 'name2'), [(1, 2), (3, 4)])
        list — e.g. @pytest.mark.parametrize(('name1', 'name2'), [[1, 2], [3, 4]])`,
        descCn: "",
        defaultValue: "tuple",
        optionList: ["tuple", "list"],
        url: "https://beta.ruff.rs/docs/settings/#parametrize-values-row-type",
    },
    {
        name: "parametrize-values-type",
        descEn: `Expected type for the list of values rows in @pytest.mark.parametrize. The following values are supported:

        tuple — e.g. @pytest.mark.parametrize('name', (1, 2, 3))
        list (default) — e.g. @pytest.mark.parametrize('name', [1, 2, 3])`,
        descCn: "",
        defaultValue: "list",
        optionList: ["tuple", "list"],
        url: "https://beta.ruff.rs/docs/settings/#parametrize-values-type",
    },
    {
        name: "raises-extend-require-match-for",
        descEn: "List of additional exception names that require a match= parameter in a pytest.raises() call. This extends the default list of exceptions that require a match= parameter. This option is useful if you want to extend the default list of exceptions that require a match= parameter without having to specify the entire list. Note that this option does not remove any exceptions from the default list.",
        descCn: "",
        defaultValue: [],
        url: "https://beta.ruff.rs/docs/settings/#raises-extend-require-match-for",
    },
    {
        name: "raises-require-match-for",
        descEn: "List of exception names that require a match= parameter in a pytest.raises() call.",
        descCn: "",
        defaultValue: ["BaseException", "Exception", "ValueError", "OSError", "IOError", "EnvironmentError", "socket.error"],
        url: "https://beta.ruff.rs/docs/settings/#raises-require-match-for",
    },
];